package cc.rengu.oltp.service.realize;

import cc.rengu.oltp.service.model.ImageCodeResult;

/**
 * 图片验证码申请及验证组件接口类
 * Created by wangcheng on 2021/3/25 9:42
 */
public interface ImageCodeService<R, T> {
    /**
     * 图片验证码申请信息
     *
     * @param instId         多法人标识
     * @param applySeqNum    申请流水号
     * @param imageApplyInfo 图片验证码申请信息
     * @return 图片验证码申请结果
     * @throws Exception 异常
     */
    ImageCodeResult applyImageCode(String instId, String applySeqNum, R imageApplyInfo) throws Exception;

    /**
     * 图片验证码验证
     *
     * @param instId          多法人信息
     * @param verifySeqNum    验证流水号（同申请流水号）
     * @param imageVerifyInfo 图片验证码验证信息
     * @return true-验证成功,false-验证失败
     * @throws Exception 异常
     */
    boolean verifyImageCode(String instId, String verifySeqNum, T imageVerifyInfo) throws Exception;
}
